#ifndef __BMC_CONTROL_H
#define __BMC_CONTROL_H
#include <stdint.h>

#define TEMPUARE_ADD_1 0x90		//3000
#define TEMPUARE_ADD_2 (TEMPUARE_ADD_1+2)	//1000
#define TEMPUARE_ADD_3 (TEMPUARE_ADD_1+4)	//gpu


//用来编写 BMC具体函数的组件
/**
** BMC 系统用来
*/
typedef struct _gat_BMC_COMU_STATUS_DATA
{
	uint8_t head;
	uint8_t num;
	
	uint16_t tempuerature_3A3000;
	uint16_t tempuerature_7A1000;
	uint16_t tempuerature_GPU;
}bmc_comu_status_data;

typedef struct _gat_A7_Comu
{
	uint8_t head;
	uint8_t data;
	uint8_t recmd;
	uint8_t foot;
}A7_Comu;

void bmc_system_init(void);

void bmc_devices_power_on(void);
void bmc_devices_reset(void);
void bmc_device_power_down(void);

void bmc_reset_board(void);
void bmc_getAllTemperatureData(void);
void bmc_pc_restart(void);
uint16_t bmc_getTemperatureData(uint8_t address);
float covert_lm75_2_tempature(uint16_t srcData);
uint8_t getBoardLocation(void);
uint8_t comuBoardCommand();

#endif
